FEXP Solver  1.0.0.0
ICFEXPElementBase Class Referenceabstract

Base class for 2D FE. More...

#include <FEXPElement.h>

Inheritance diagram for ICFEXPElementBase:
Collaboration diagram for ICFEXPElementBase:

Public Member Functions

 ICFEXPElementBase (FEXPFEDefinition::EFEXPFiniteElementGeom egeom)
 
virtual ~ICFEXPElementBase ()
 
virtual size_t GetId () override
 
virtual size_t GetModelId () override
 
virtual size_t GetType () override
 
virtual size_t GetThreadId () override
 
virtual void SetThreadId (size_t id) override
 
FEXPFEDefinition::EFEXPFiniteElementGeom GetElementGeom ()
 
size_t GetElementId () const
 
size_t GetNodeCount () const
 
std::vector< std::weak_ptr< ICFEXPElementNodeBase > > & GetNodes ()
 
Ptr< CFEXGeomTools::t_BoundBoxGetBoundingBoxBounds ()
 
virtual void SetForce (EFEXPElementForce force, size_t node_id, size_t idx, t_fexpcommon_ct value)=0
 
virtual t_fexpcommon_ct GetForce (EFEXPElementForce force, size_t node_id, size_t idx)=0
 
virtual size_t GetTimeStepCounter ()=0
 
virtual t_fexpcommon_ct GetCriticalDt ()=0
 
virtual Ptr< std::map< std::string, std::string > > GetResult ()=0
 
- Public Member Functions inherited from ICFEXPModelDataIntf
virtual size_t GetThreadNumber ()=0
 
- Public Member Functions inherited from ICFEXPSerialize
virtual Ptr< t_SerializedDataNetSerialize ()=0
 
virtual void NetDeserialize (Ptr< t_SerializedData > data)=0
 
- Public Member Functions inherited from ICFEXPGeomAction
virtual ~ICFEXPGeomAction ()
 
virtual void CalculateTransformation ()=0
 

Protected Member Functions

Ptr< CFEX3DPlane< t_fexpcommon_ct > > get_element_plane (Ptr< ICFEXPElementNodeBase > nd1, Ptr< ICFEXPElementNodeBase > nd2, Ptr< ICFEXPElementNodeBase > nd3)
 

Static Protected Member Functions

template<typename TFeNode >
static std::enable_if< std::is_base_of< ICFEXPElementNodeBase, TFeNode >::value, Ptr< TFeNode > >::type get_specific_fe_node (Ptr< ICFEXPElementNodeBase > base)
 

Protected Attributes

size_t _fe_model_id
 
size_t _fe_id
 
size_t _fe_nd_count
 
std::vector< std::weak_ptr< ICFEXPElementNodeBase > > _node_coord
 

Additional Inherited Members

- Static Public Attributes inherited from ICFEXPSerialize
static const std::string NODE_KEY = "#NODE#"
 
static const std::string ELEM_KEY = "#ELEMENT#"
 
static const size_t ITEM_ID_INDEX = 1
 

Detailed Description

Base class for 2D FE.

Constructor & Destructor Documentation

◆ ICFEXPElementBase()

ICFEXPElementBase::ICFEXPElementBase ( FEXPFEDefinition::EFEXPFiniteElementGeom  egeom)

◆ ~ICFEXPElementBase()

virtual ICFEXPElementBase::~ICFEXPElementBase ( )
inlinevirtual

Member Function Documentation

◆ get_element_plane()

Ptr< CFEX3DPlane< t_fexpcommon_ct > > ICFEXPElementBase::get_element_plane ( Ptr< ICFEXPElementNodeBase nd1,
Ptr< ICFEXPElementNodeBase nd2,
Ptr< ICFEXPElementNodeBase nd3 
)
protected

◆ get_specific_fe_node()

template<typename TFeNode >
std::enable_if< std::is_base_of< ICFEXPElementNodeBase, TFeNode >::value, Ptr< TFeNode > >::type ICFEXPElementBase::get_specific_fe_node ( Ptr< ICFEXPElementNodeBase base)
staticprotected

◆ GetBoundingBoxBounds()

Ptr< CFEXGeomTools::t_BoundBox > ICFEXPElementBase::GetBoundingBoxBounds ( )

◆ GetCriticalDt()

virtual t_fexpcommon_ct ICFEXPElementBase::GetCriticalDt ( )
pure virtual

Implemented in CFEXPElementShellTriag.

◆ GetElementGeom()

FEXPFEDefinition::EFEXPFiniteElementGeom ICFEXPElementBase::GetElementGeom ( )
inline

◆ GetElementId()

size_t ICFEXPElementBase::GetElementId ( ) const
inline

◆ GetForce()

virtual t_fexpcommon_ct ICFEXPElementBase::GetForce ( EFEXPElementForce  force,
size_t  node_id,
size_t  idx 
)
pure virtual

Implemented in CFEXPElementShellTriag.

◆ GetId()

virtual size_t ICFEXPElementBase::GetId ( )
inlineoverridevirtual

Implements ICFEXPModelDataIntf.

◆ GetModelId()

virtual size_t ICFEXPElementBase::GetModelId ( )
inlineoverridevirtual

Implements ICFEXPModelDataIntf.

◆ GetNodeCount()

size_t ICFEXPElementBase::GetNodeCount ( ) const
inline

◆ GetNodes()

std::vector<std::weak_ptr<ICFEXPElementNodeBase> >& ICFEXPElementBase::GetNodes ( )
inline

◆ GetResult()

virtual Ptr<std::map<std::string, std::string> > ICFEXPElementBase::GetResult ( )
pure virtual

Implemented in CFEXPElementShellTriag.

◆ GetThreadId()

virtual size_t ICFEXPElementBase::GetThreadId ( )
inlineoverridevirtual

Implements ICFEXPModelDataIntf.

◆ GetTimeStepCounter()

virtual size_t ICFEXPElementBase::GetTimeStepCounter ( )
pure virtual

Implemented in CFEXPElementShellTriag.

◆ GetType()

virtual size_t ICFEXPElementBase::GetType ( )
inlineoverridevirtual

Implements ICFEXPModelDataIntf.

◆ SetForce()

virtual void ICFEXPElementBase::SetForce ( EFEXPElementForce  force,
size_t  node_id,
size_t  idx,
t_fexpcommon_ct  value 
)
pure virtual

Implemented in CFEXPElementShellTriag.

◆ SetThreadId()

virtual void ICFEXPElementBase::SetThreadId ( size_t  id)
inlineoverridevirtual

Implements ICFEXPModelDataIntf.

Member Data Documentation

◆ _fe_id

size_t ICFEXPElementBase::_fe_id
protected

◆ _fe_model_id

size_t ICFEXPElementBase::_fe_model_id
protected

◆ _fe_nd_count

size_t ICFEXPElementBase::_fe_nd_count
protected

◆ _node_coord

std::vector<std::weak_ptr<ICFEXPElementNodeBase> > ICFEXPElementBase::_node_coord
protected

The documentation for this class was generated from the following files: